﻿namespace LiteBlog.Repositories.Contracts
{
    using LiteBlog.Common.Entities;

    public interface IPostRepository
    {
        Post Load(string fileId);
        void Save(Post post);
        DraftPost Create(string title);
        DraftPost EditPublished(string fileId);
        void Update(PostInfo post);
        void Delete(string fileId);
        string Publish(DraftPost post);
        string Unpublish(string fileId);
        string GetDraftIdIfDraftExistsForPublishedPost(string fileId);
    }
}